AWK একটি শক্তিশালী টুল যা Shell স্ক্রিপ্ট এবং কমান্ড লাইনের সাথে ব্যবহার করা যায়। অনেক সময় Shell কমান্ড চালানোর পরে AWK ব্যবহার করে সেই আউটপুটকে প্রসেস করা হয়। Shell স্ক্রিপ্টে AWK এর আউটপুট সংগ্রহ করা এবং তা ব্যবহার করার পদ্ধতি সম্পর্কে নিচে আলোচনা করা হলো।
Shell কমান্ড লাইনে AWK এর আউটপুটকে Shell ভেরিয়েবলে সংরক্ষণ করা যায়। এর জন্য কমান্ড সাবস্টিটিউশন $()
বা ব্যাকটিক্স (``) ব্যবহার করা হয়।
output=$(awk '/pattern/ {print $1}' filename.txt)
echo "The matched output is: $output"
এখানে, AWK কমান্ড filename.txt
ফাইলের প্রথম কলাম থেকে সেই লাইনের আউটপুট প্রিন্ট করে যেটিতে pattern
পাওয়া যায়। Shell ভেরিয়েবল output
এ সেই আউটপুট সংরক্ষণ করা হয় এবং তারপর echo
ব্যবহার করে তা প্রদর্শন করা হয়।
AWK এর আউটপুট সরাসরি পরবর্তী Shell কমান্ডের ইনপুট হিসেবে ব্যবহার করা যেতে পারে।
file=$(ls | awk '/\.txt$/ {print}')
echo "Text file found: $file"
এখানে, ls
কমান্ডের আউটপুট AWK এর মাধ্যমে ফিল্টার করা হয়েছে যা .txt
দিয়ে শেষ হওয়া ফাইলগুলিকে খুঁজে বের করে এবং সেই ফাইলের নাম file
ভেরিয়েবলে সংরক্ষণ করা হয়েছে।
Shell স্ক্রিপ্টের মধ্যে AWK কমান্ড ব্যবহার করে বড় ধরনের ডেটা প্রক্রিয়াকরণ করা যায় এবং তার আউটপুট অন্য কাজের জন্য ব্যবহার করা যায়।
#!/bin/bash
# AWK কমান্ড থেকে আউটপুট সংগ্রহ করা
line_count=$(awk 'END {print NR}' filename.txt)
echo "Total number of lines in the file: $line_count"
# শর্তসাপেক্ষ ক্রিয়াকলাপ
if [ "$line_count" -gt 100 ]; then
echo "The file has more than 100 lines."
else
echo "The file has 100 or fewer lines."
fi
এখানে, AWK ব্যবহার করে filename.txt
ফাইলের মোট লাইন সংখ্যা নির্ণয় করা হয়েছে এবং সেই সংখ্যা line_count
ভেরিয়েবলে সংরক্ষণ করা হয়েছে। পরে, সেই ভেরিয়েবলের মানের উপর ভিত্তি করে শর্তসাপেক্ষ ক্রিয়াকলাপ করা হয়েছে।
AWK এর আউটপুটকে সরাসরি অন্য Shell কমান্ডের সাথে পাইপলাইন ব্যবহার করে প্রসেস করা যায়।
awk '/pattern/ {print $1}' filename.txt | sort | uniq > output.txt
এখানে, AWK ব্যবহার করে filename.txt
থেকে নির্দিষ্ট প্যাটার্ন অনুযায়ী প্রথম কলাম প্রিন্ট করা হয়েছে। তারপর সেই আউটপুট sort
এবং uniq
কমান্ডের মাধ্যমে ফিল্টার করে output.txt
ফাইলে সংরক্ষণ করা হয়েছে।
Shell কমান্ডে AWK এর আউটপুট ব্যবহার করে আপনি জটিল ডেটা প্রক্রিয়াকরণ সহজে করতে পারেন। AWK এবং Shell কমান্ড একসাথে ব্যবহার করলে আপনার স্ক্রিপ্টিং এবং ডেটা বিশ্লেষণের ক্ষমতা বৃদ্ধি পায়। এই পদ্ধতিতে, Shell ভেরিয়েবলে AWK এর আউটপুট সংরক্ষণ, পাইপলাইন ব্যবহার এবং আউটপুটকে অন্যান্য কমান্ডে ফিল্টার করা সম্ভব।
common.read_more